
bug：     文件格式 elf32-i386


Disassembly of section .init:

08049000 <_init>:
 8049000:	53                   	push   %ebx
 8049001:	83 ec 08             	sub    $0x8,%esp
 8049004:	e8 a7 00 00 00       	call   80490b0 <__x86.get_pc_thunk.bx>
 8049009:	81 c3 f7 2f 00 00    	add    $0x2ff7,%ebx
 804900f:	8b 83 fc ff ff ff    	mov    -0x4(%ebx),%eax
 8049015:	85 c0                	test   %eax,%eax
 8049017:	74 02                	je     804901b <_init+0x1b>
 8049019:	ff d0                	call   *%eax
 804901b:	83 c4 08             	add    $0x8,%esp
 804901e:	5b                   	pop    %ebx
 804901f:	c3                   	ret    

Disassembly of section .plt:

08049020 <.plt>:
 8049020:	ff 35 04 c0 04 08    	pushl  0x804c004
 8049026:	ff 25 08 c0 04 08    	jmp    *0x804c008
 804902c:	00 00                	add    %al,(%eax)
	...

08049030 <strcpy@plt>:
 8049030:	ff 25 0c c0 04 08    	jmp    *0x804c00c
 8049036:	68 00 00 00 00       	push   $0x0
 804903b:	e9 e0 ff ff ff       	jmp    8049020 <.plt>

08049040 <puts@plt>:
 8049040:	ff 25 10 c0 04 08    	jmp    *0x804c010
 8049046:	68 08 00 00 00       	push   $0x8
 804904b:	e9 d0 ff ff ff       	jmp    8049020 <.plt>

08049050 <__libc_start_main@plt>:
 8049050:	ff 25 14 c0 04 08    	jmp    *0x804c014
 8049056:	68 10 00 00 00       	push   $0x10
 804905b:	e9 c0 ff ff ff       	jmp    8049020 <.plt>

Disassembly of section .text:

08049060 <_start>:
 8049060:	31 ed                	xor    %ebp,%ebp
 8049062:	5e                   	pop    %esi
 8049063:	89 e1                	mov    %esp,%ecx
 8049065:	83 e4 f0             	and    $0xfffffff0,%esp
 8049068:	50                   	push   %eax
 8049069:	54                   	push   %esp
 804906a:	52                   	push   %edx
 804906b:	e8 23 00 00 00       	call   8049093 <_start+0x33>
 8049070:	81 c3 90 2f 00 00    	add    $0x2f90,%ebx
 8049076:	8d 83 60 d2 ff ff    	lea    -0x2da0(%ebx),%eax
 804907c:	50                   	push   %eax
 804907d:	8d 83 00 d2 ff ff    	lea    -0x2e00(%ebx),%eax
 8049083:	50                   	push   %eax
 8049084:	51                   	push   %ecx
 8049085:	56                   	push   %esi
 8049086:	c7 c0 b5 91 04 08    	mov    $0x80491b5,%eax
 804908c:	50                   	push   %eax
 804908d:	e8 be ff ff ff       	call   8049050 <__libc_start_main@plt>
 8049092:	f4                   	hlt    
 8049093:	8b 1c 24             	mov    (%esp),%ebx
 8049096:	c3                   	ret    
 8049097:	66 90                	xchg   %ax,%ax
 8049099:	66 90                	xchg   %ax,%ax
 804909b:	66 90                	xchg   %ax,%ax
 804909d:	66 90                	xchg   %ax,%ax
 804909f:	90                   	nop

080490a0 <_dl_relocate_static_pie>:
 80490a0:	c3                   	ret    
 80490a1:	66 90                	xchg   %ax,%ax
 80490a3:	66 90                	xchg   %ax,%ax
 80490a5:	66 90                	xchg   %ax,%ax
 80490a7:	66 90                	xchg   %ax,%ax
 80490a9:	66 90                	xchg   %ax,%ax
 80490ab:	66 90                	xchg   %ax,%ax
 80490ad:	66 90                	xchg   %ax,%ax
 80490af:	90                   	nop

080490b0 <__x86.get_pc_thunk.bx>:
 80490b0:	8b 1c 24             	mov    (%esp),%ebx
 80490b3:	c3                   	ret    
 80490b4:	66 90                	xchg   %ax,%ax
 80490b6:	66 90                	xchg   %ax,%ax
 80490b8:	66 90                	xchg   %ax,%ax
 80490ba:	66 90                	xchg   %ax,%ax
 80490bc:	66 90                	xchg   %ax,%ax
 80490be:	66 90                	xchg   %ax,%ax

080490c0 <deregister_tm_clones>:
 80490c0:	b8 20 c0 04 08       	mov    $0x804c020,%eax
 80490c5:	3d 20 c0 04 08       	cmp    $0x804c020,%eax
 80490ca:	74 24                	je     80490f0 <deregister_tm_clones+0x30>
 80490cc:	b8 00 00 00 00       	mov    $0x0,%eax
 80490d1:	85 c0                	test   %eax,%eax
 80490d3:	74 1b                	je     80490f0 <deregister_tm_clones+0x30>
 80490d5:	55                   	push   %ebp
 80490d6:	89 e5                	mov    %esp,%ebp
 80490d8:	83 ec 14             	sub    $0x14,%esp
 80490db:	68 20 c0 04 08       	push   $0x804c020
 80490e0:	ff d0                	call   *%eax
 80490e2:	83 c4 10             	add    $0x10,%esp
 80490e5:	c9                   	leave  
 80490e6:	c3                   	ret    
 80490e7:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 80490ee:	66 90                	xchg   %ax,%ax
 80490f0:	c3                   	ret    
 80490f1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 80490f8:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 80490ff:	90                   	nop

08049100 <register_tm_clones>:
 8049100:	b8 20 c0 04 08       	mov    $0x804c020,%eax
 8049105:	2d 20 c0 04 08       	sub    $0x804c020,%eax
 804910a:	89 c2                	mov    %eax,%edx
 804910c:	c1 e8 1f             	shr    $0x1f,%eax
 804910f:	c1 fa 02             	sar    $0x2,%edx
 8049112:	01 d0                	add    %edx,%eax
 8049114:	d1 f8                	sar    %eax
 8049116:	74 20                	je     8049138 <register_tm_clones+0x38>
 8049118:	ba 00 00 00 00       	mov    $0x0,%edx
 804911d:	85 d2                	test   %edx,%edx
 804911f:	74 17                	je     8049138 <register_tm_clones+0x38>
 8049121:	55                   	push   %ebp
 8049122:	89 e5                	mov    %esp,%ebp
 8049124:	83 ec 10             	sub    $0x10,%esp
 8049127:	50                   	push   %eax
 8049128:	68 20 c0 04 08       	push   $0x804c020
 804912d:	ff d2                	call   *%edx
 804912f:	83 c4 10             	add    $0x10,%esp
 8049132:	c9                   	leave  
 8049133:	c3                   	ret    
 8049134:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
 8049138:	c3                   	ret    
 8049139:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi

08049140 <__do_global_dtors_aux>:
 8049140:	80 3d 20 c0 04 08 00 	cmpb   $0x0,0x804c020
 8049147:	75 17                	jne    8049160 <__do_global_dtors_aux+0x20>
 8049149:	55                   	push   %ebp
 804914a:	89 e5                	mov    %esp,%ebp
 804914c:	83 ec 08             	sub    $0x8,%esp
 804914f:	e8 6c ff ff ff       	call   80490c0 <deregister_tm_clones>
 8049154:	c6 05 20 c0 04 08 01 	movb   $0x1,0x804c020
 804915b:	c9                   	leave  
 804915c:	c3                   	ret    
 804915d:	8d 76 00             	lea    0x0(%esi),%esi
 8049160:	c3                   	ret    
 8049161:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 8049168:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 804916f:	90                   	nop

08049170 <frame_dummy>:
 8049170:	eb 8e                	jmp    8049100 <register_tm_clones>

08049172 <outputs>:
#include <stdio.h>
#include "string.h"
void outputs(char *str)
{
 8049172:	55                   	push   %ebp
 8049173:	89 e5                	mov    %esp,%ebp
 8049175:	83 ec 18             	sub    $0x18,%esp
    char buffer[16];
    strcpy(buffer, str);
 8049178:	83 ec 08             	sub    $0x8,%esp
 804917b:	ff 75 08             	pushl  0x8(%ebp)
 804917e:	8d 45 e8             	lea    -0x18(%ebp),%eax
 8049181:	50                   	push   %eax
 8049182:	e8 a9 fe ff ff       	call   8049030 <strcpy@plt>
 8049187:	83 c4 10             	add    $0x10,%esp
    printf("%s\n", buffer);
 804918a:	83 ec 0c             	sub    $0xc,%esp
 804918d:	8d 45 e8             	lea    -0x18(%ebp),%eax
 8049190:	50                   	push   %eax
 8049191:	e8 aa fe ff ff       	call   8049040 <puts@plt>
 8049196:	83 c4 10             	add    $0x10,%esp
}
 8049199:	90                   	nop
 804919a:	c9                   	leave  
 804919b:	c3                   	ret    

0804919c <hacker>:

void hacker(void)
{
 804919c:	55                   	push   %ebp
 804919d:	89 e5                	mov    %esp,%ebp
 804919f:	83 ec 08             	sub    $0x8,%esp
    printf("being hacked \n");
 80491a2:	83 ec 0c             	sub    $0xc,%esp
 80491a5:	68 08 a0 04 08       	push   $0x804a008
 80491aa:	e8 91 fe ff ff       	call   8049040 <puts@plt>
 80491af:	83 c4 10             	add    $0x10,%esp
}
 80491b2:	90                   	nop
 80491b3:	c9                   	leave  
 80491b4:	c3                   	ret    

080491b5 <main>:

int main(int argc, char *argv[])
{
 80491b5:	8d 4c 24 04          	lea    0x4(%esp),%ecx
 80491b9:	83 e4 f0             	and    $0xfffffff0,%esp
 80491bc:	ff 71 fc             	pushl  -0x4(%ecx)
 80491bf:	55                   	push   %ebp
 80491c0:	89 e5                	mov    %esp,%ebp
 80491c2:	51                   	push   %ecx
 80491c3:	83 ec 04             	sub    $0x4,%esp
 80491c6:	89 c8                	mov    %ecx,%eax
    outputs(argv[1]);
 80491c8:	8b 40 04             	mov    0x4(%eax),%eax
 80491cb:	83 c0 04             	add    $0x4,%eax
 80491ce:	8b 00                	mov    (%eax),%eax
 80491d0:	83 ec 0c             	sub    $0xc,%esp
 80491d3:	50                   	push   %eax
 80491d4:	e8 99 ff ff ff       	call   8049172 <outputs>
 80491d9:	83 c4 10             	add    $0x10,%esp
    printf("yes cheney\n");
 80491dc:	83 ec 0c             	sub    $0xc,%esp
 80491df:	68 16 a0 04 08       	push   $0x804a016
 80491e4:	e8 57 fe ff ff       	call   8049040 <puts@plt>
 80491e9:	83 c4 10             	add    $0x10,%esp
    return 0;
 80491ec:	b8 00 00 00 00       	mov    $0x0,%eax
}
 80491f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
 80491f4:	c9                   	leave  
 80491f5:	8d 61 fc             	lea    -0x4(%ecx),%esp
 80491f8:	c3                   	ret    
 80491f9:	66 90                	xchg   %ax,%ax
 80491fb:	66 90                	xchg   %ax,%ax
 80491fd:	66 90                	xchg   %ax,%ax
 80491ff:	90                   	nop

08049200 <__libc_csu_init>:
 8049200:	55                   	push   %ebp
 8049201:	e8 5b 00 00 00       	call   8049261 <__x86.get_pc_thunk.bp>
 8049206:	81 c5 fa 2d 00 00    	add    $0x2dfa,%ebp
 804920c:	57                   	push   %edi
 804920d:	56                   	push   %esi
 804920e:	53                   	push   %ebx
 804920f:	83 ec 0c             	sub    $0xc,%esp
 8049212:	89 eb                	mov    %ebp,%ebx
 8049214:	8b 7c 24 28          	mov    0x28(%esp),%edi
 8049218:	e8 e3 fd ff ff       	call   8049000 <_init>
 804921d:	8d 9d 10 ff ff ff    	lea    -0xf0(%ebp),%ebx
 8049223:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
 8049229:	29 c3                	sub    %eax,%ebx
 804922b:	c1 fb 02             	sar    $0x2,%ebx
 804922e:	74 25                	je     8049255 <__libc_csu_init+0x55>
 8049230:	31 f6                	xor    %esi,%esi
 8049232:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8049238:	83 ec 04             	sub    $0x4,%esp
 804923b:	57                   	push   %edi
 804923c:	ff 74 24 2c          	pushl  0x2c(%esp)
 8049240:	ff 74 24 2c          	pushl  0x2c(%esp)
 8049244:	ff 94 b5 0c ff ff ff 	call   *-0xf4(%ebp,%esi,4)
 804924b:	83 c6 01             	add    $0x1,%esi
 804924e:	83 c4 10             	add    $0x10,%esp
 8049251:	39 f3                	cmp    %esi,%ebx
 8049253:	75 e3                	jne    8049238 <__libc_csu_init+0x38>
 8049255:	83 c4 0c             	add    $0xc,%esp
 8049258:	5b                   	pop    %ebx
 8049259:	5e                   	pop    %esi
 804925a:	5f                   	pop    %edi
 804925b:	5d                   	pop    %ebp
 804925c:	c3                   	ret    
 804925d:	8d 76 00             	lea    0x0(%esi),%esi

08049260 <__libc_csu_fini>:
 8049260:	c3                   	ret    

08049261 <__x86.get_pc_thunk.bp>:
 8049261:	8b 2c 24             	mov    (%esp),%ebp
 8049264:	c3                   	ret    

Disassembly of section .fini:

08049268 <_fini>:
 8049268:	53                   	push   %ebx
 8049269:	83 ec 08             	sub    $0x8,%esp
 804926c:	e8 3f fe ff ff       	call   80490b0 <__x86.get_pc_thunk.bx>
 8049271:	81 c3 8f 2d 00 00    	add    $0x2d8f,%ebx
 8049277:	83 c4 08             	add    $0x8,%esp
 804927a:	5b                   	pop    %ebx
 804927b:	c3                   	ret    
